In the world of e-commerce, many different types of businesses and organizations perform a multitude of different tasks. For instance, one business may sell products, another business may sell services, and yet another business may sell both products and services. Even still, some business may manufacture products from raw materials (or materials produced by others) and, thus, may perform more purchasing and receiving type tasks than other businesses. Some may be brick and mortar businesses in that they have a physical presence, such as a store, while others may be primarily accessible by computers over a network such as the Internet. Additionally, some organizations may merely provide services to their users, such as educational institutions or the government, with less emphasis on sales.
More specifically, businesses and organizations may perform tasks such as collecting and organizing customer information, receiving payments, fulfilling orders, shipping products, or even receiving returned items. Fortunately, there are services that may be able to help perform these tasks. While some services are operated by brick and mortar business, as noted above, others may come in the form of Web applications, or Web services. For instance, a Web service may provide payment collection services by facilitating credit card payments from customers of a business over the Web. In this way, a business tasked with receiving payments for orders may rely on a Web service for this collection. Some services may perform many different tasks and, yet, some services may perform only one or two tasks. Other tasks that can be performed by services, or Web services, may include collecting customer information, fulfilling orders, organizing shipping, and the like, or any other task that a business or organization may perform.
In addition, each business or organization may prefer to set their own policies for interaction with customers or users. For instance, while one business may allow users to create unique user identifiers (IDs) based on any combination of letters and numbers, another business may only allow users to register using an existing email address. In another example, some businesses may operate in English only, while other businesses may provide products and/or services in many languages. In other words, each business or organization may uniquely determine its own set of configuration rules for each task that it may perform.
Based on the particular needs of each business, different entities may want to acquire the assistance of different services. As such, each entity may interact with many different services in order to effectively operate for a variety of different reasons. For instance, one entity may prefer to use a service for collecting payments and fulfilling orders (e.g., a brick and mortar store), another entity may prefer to utilize catalog services for displaying products to potential on-line customers (e.g., a Web store), and yet another entity may prefer to only use a service for collecting and organizing user information (e.g., an educational institution). Thus, each entity may have a unique set of services that it has enlisted for performing tasks, and a unique set of configurations for each service.
Further, each service may have its own set of specific configuration rules for the businesses to follow. For instance, a service for collecting and organizing user information may have a rule pertaining to the number of special characters per password. Alternatively, a service for shipping products may allow shipment to any country in North America or Europe. As such, each service may uniquely determine its own set of configuration rules for accessing and/or utilizing its functionality.
However, in order to maintain the unique configuration requirements of each business securely, such as payment options or the like, configuration data for each individual business may be stored locally by the services. Thus, as commerce grows, particularly e-commerce, and more businesses request the aid of service providers (including Web services), services may find it more and more difficult to maintain and manage configuration information. Moreover, as businesses often change configuration policies rapidly, request new services, and grow, the services they use may prefer to be more dynamic. As more businesses request more services, existing services may find it ineffective to continue to store the configuration data locally. Unfortunately, the current system may be too inflexible and decentralized to handle further growth.